<!--SIF Implementation Specification 2.2-6 (March 17, 2008)-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" targetNamespace="http://www.sifinfo.org/infrastructure/2.x" xmlns:sif="http://www.sifinfo.org/infrastructure/2.x" elementFormDefault="qualified">
  <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="imports/xml/xml.xsd" />
  <xs:complexType name="LearningResourceType">
    <xs:annotation>
      <xs:documentation>
							This object contains information related to learning resources that may be used in educational settings. These
							include textbooks, Internet content, educational software, videos and DVDs, supplemental print material, etc.
						</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Name" minOccurs="0" type="xs:normalizedString">
        <xs:annotation>
          <xs:documentation>Name of learning resource.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Author" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:documentation>Name of organization or company that created the resource.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Contacts" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Contact" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Name" minOccurs="0" nillable="true" type="sif:NameType">
                    <xs:annotation>
                      <xs:documentation>Name of contact person. Use the generic element Name.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="Address" minOccurs="0" nillable="true" type="sif:AddressType">
                    <xs:annotation>
                      <xs:documentation>Address of organization or company.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="PhoneNumber" minOccurs="0" nillable="true" type="sif:PhoneNumberType">
                    <xs:annotation>
                      <xs:documentation>Phone number of organization or company.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="Email" minOccurs="0" nillable="true" type="sif:EmailType">
                    <xs:annotation>
                      <xs:documentation>The email of the organization or company.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Location" minOccurs="0" nillable="true">
        <xs:annotation>
          <xs:documentation>Description of location of resource, i.e. location in library or URL, community resource, outside resource supplier.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:string">
              <xs:attribute name="ReferenceType" use="required" type="xs:token">
                <xs:annotation>
                  <xs:documentation>A qualifying attribute for the Location payload. If ReferenceType is "URI", the payload contains a web address where the resource can be found.</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Status" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:documentation>Describes availability status of resource, e.g. "checked out."</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:documentation>Description of the resource, e.g., "This textbook is intended for grade 4 social studies students and addresses..."</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="GradeLevels" minOccurs="0" nillable="true" type="sif:GradeLevelsType" />
      <xs:element name="SubjectAreas" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SubjectArea" minOccurs="0" maxOccurs="unbounded" type="sif:SubjectAreaType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="MediaTypes" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="MediaType" minOccurs="0" maxOccurs="unbounded" type="xs:token">
              <xs:annotation>
                <xs:documentation>
							MIME type [MIME] based on IANA registration (see RFC2048) or 'non-digital'.
						</xs:documentation>
              </xs:annotation>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="UseAgreement" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:documentation>Describes terms of use for resource.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AgreementDate" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:documentation>A date that defines the date of agreement.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Approvals" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Approval" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Organization" minOccurs="0" type="xs:normalizedString">
                    <xs:annotation>
                      <xs:documentation>Name of agency that approved use of resource.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="Date" minOccurs="0" type="xs:date">
                    <xs:annotation>
                      <xs:documentation>Date resource was approved.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Evaluations" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Evaluation" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string">
                    <xs:annotation>
                      <xs:documentation>Description of evaluation of resource.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="Date" minOccurs="0" nillable="true" type="xs:date">
                    <xs:annotation>
                      <xs:documentation>Date evaluation was performed</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="Name" minOccurs="0" nillable="true" type="sif:NameType">
                    <xs:annotation>
                      <xs:documentation>Name of individual who submitted evaluation.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                </xs:sequence>
                <xs:attribute name="RefId" use="required" type="sif:RefIdType">
                  <xs:annotation>
                    <xs:documentation>GUID assigned to an evaluation.</xs:documentation>
                  </xs:annotation>
                </xs:attribute>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Components" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Component" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Name" minOccurs="0" type="xs:normalizedString">
                    <xs:annotation>
                      <xs:documentation>Name of learning resource component within the resource, i.e. "Chapter 1, Section 4.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="Reference" minOccurs="0" type="xs:string">
                    <xs:annotation>
                      <xs:documentation>Description of where ResourceComponent is located within resource or in general, i.e. "Section 4, pages 32-38," or URL string, or whatever locator is appropriate for media.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string">
                    <xs:annotation>
                      <xs:documentation>Description of ResourceComponent, i.e. "Discover how changing the scale of a map can either increase or decrease the level of detail you see."</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="Strategies" minOccurs="0" nillable="true">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="Strategy" minOccurs="0" maxOccurs="unbounded" type="xs:string">
                          <xs:annotation>
                            <xs:documentation>Teaching/learning strategy used in the learning resource. One per element.</xs:documentation>
                          </xs:annotation>
                        </xs:element>
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                  <xs:element name="AssociatedObjects" minOccurs="0" nillable="true">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="AssociatedObject" minOccurs="0" maxOccurs="unbounded">
                          <xs:complexType>
                            <xs:annotation>
                              <xs:documentation>Reference from component to associated elements within another SIF object.</xs:documentation>
                            </xs:annotation>
                            <xs:simpleContent>
                              <xs:extension base="sif:IdRefType">
                                <xs:attribute name="SIF_RefObject" use="required" type="sif:ObjectNameType">
                                  <xs:annotation>
                                    <xs:documentation>Attribute that identifies the type of SIF object being referenced.</xs:documentation>
                                  </xs:annotation>
                                </xs:attribute>
                              </xs:extension>
                            </xs:simpleContent>
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="LearningStandards" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="LearningStandardItemRefId" minOccurs="0" maxOccurs="unbounded" type="sif:IdRefType">
              <xs:annotation>
                <xs:documentation>Reference to a LearningStandardItem.</xs:documentation>
              </xs:annotation>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="LearningResourcePackageRefId" minOccurs="0" nillable="true" type="sif:IdRefType">
        <xs:annotation>
          <xs:documentation>Reference to a LearningResourcePackage, a transport envelope for teaching and learning object files.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType">
      <xs:annotation>
        <xs:documentation>GUID assigned to this LearningResource.</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute ref="xml:lang" use="required" />
  </xs:complexType>

  <xs:element name="LearningResource" type="sif:LearningResourceType" />

</xs:schema>